<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>

</html>
<script>
    var x = 3.14;
    var y = 3;
    // 返回字符串
    p = x.toString();
    console.log(p);
    //  valueOf() 方法返回的是数值
    pper = x.valueOf()
    alert(pper)
    //   研究发现啊 这个number 可以是一个object()
    //  所以啊  typeof=Number
    //  typeof=Object 
    // 所有 JavaScript 数据类型都有 valueOf() 和 toString() 方法。

    // parseInt 整数
    // parseFloat()浮点数
    // parseInt("10");         // 返回 10
    // parseInt("10.33");      // 返回 10
    // parseInt("10 20 30");   // 返回 10
    // parseInt("10 years");   // 返回 10
    // parseInt("years 10");   // 返回 NaN
//     var fruits = ["Banana", "Orange", "Apple", "Mango"];
// fruits.push("Lemon");    
// var fruits = ["Banana", "Orange", "Apple", "Mango"];
// fruits[fruits.length] = "Lemon";     // 向 fruits 添加一个新元素 (Lemon)
// 把数组转换为字符串
// JavaScript 方法 toString() 把数组转换为数组值（逗号分隔）的字符串。

// 实例
// var fruits = ["Banana", "Orange", "Apple", "Mango"];
// document.getElementById("demo").innerHTML = fruits.toString(); 
// join() 方法也可将所有数组元素结合为一个字符串。

// 它的行为类似 toString()，但是您还可以规定分隔符：
// var fruits = ["Banana", "Orange","Apple", "Mango"];
// document.getElementById("demo").innerHTML = fruits.join(" * "); 
// pop() 方法从数组中删除最后一个元素：
// var fruits = ["Banana", "Orange", "Apple", "Mango"];
// fruits.pop();              // 从 fruits 删除最后一个元素（"Mango"）


// push() 方法（在数组结尾处）向数组添加一个新的元素：
// var fruits = ["Banana", "Orange", "Apple", "Mango"];
// fruits.push("Kiwi"); 

// 位移元素
// 位移与弹出等同，但处理首个元素而不是最后一个。
// 
// shift() 方法会删除首个数组元素，并把所有其他元素“位移”到更低的索引。

// 实例

// var fruits = ["Banana", "Orange", "Apple", "Mango"];
// fruits.shift();
// unshift() 方法（在开头）向数组添加新元素，并“反向位移”旧元素：

// 实例
// var fruits = ["Banana", "Orange", "Apple", "Mango"];
// fruits.unshift("Lemon");    // 返回 5

// 删除元素
// 既然 JavaScript 数组属于对象，其中的元素就可以使用 JavaScript delete 运算符来删除：

// 实例
// var fruits = ["Banana", "Orange", "Apple", "Mango"];
// delete fruits[0];      

// 拼接数组
// splice() 方法可用于向数组添加新项：

// 实例
// var fruits = ["Banana", "Orange", "Apple", "Mango"];
// fruits.splice(2, 0, "Lemon", "Kiwi");

// 合并（连接）数组
// concat() 方法通过合并（连接）现有数组来创建一个新数组：

// 实例（合并两个数组）
// var myGirls = ["Cecilie", "Lone"];
// var myBoys = ["Emil", "Tobias", "Linus"];
// var myChildren = myGirls.concat(myBoys);   // 连接 myGirls 和 myBoys

// 数组排序
// sort() 方法以字母顺序对数组进行排序：

// 实例
// var fruits = ["Banana", "Orange", "Apple", "Mango"];
// fruits.sort(); 

// 反转数组
// reverse() 方法反转数组中的元素。

// 您可以使用它以降序对数组进行排序：
// 
// 实例

// var fruits = ["Banana", "Orange", "Apple", "Mango"];
// fruits.sort();            // 对 fruits 中的元素进行排序
// fruits.reverse();    

// var points = [40, 100, 1, 5, 25, 10];
// points.sort(function(a, b){return a - b}); 


// <button onclick="myFunction1()">以字母顺序排序</button>
// <button onclick="myFunction2()">以数字顺序排序</button>

// <p id="demo"></p>

// <script>
// var points = [40, 100, 1, 5, 25, 10];
// document.getElementById("demo").innerHTML = points;

// function myFunction1() {
// 		points.sort();
// 		document.getElementById("demo").innerHTML  = points;
// }
// function myFunction2() {
// 		points.sort(function(a, b){return  a - b});
// 		document.getElementById("demo").innerHTML = points;
// }
// 找出最大的
// var app=[5,3,8,3,9,99];
//  var pper=app.sort(function(a,b){
// return a-b
//  })
//  update=pper[pper.length-1]
//  console.log(update);
// forEach()
// var numbers = [45, 4, 9, 16, 25];
// numbers.forEach(myFunction);
// document.getElementById("demo").innerHTML = txt;
// function myFunction(value,index,arry){
// txt=txt+value
// }
//  map 创建一个新的数组
var numbers = [45, 4, 9, 16, 25];
 var numbers2=numbers.map(my)

   function my(value){
       return value*2
   }
   console.log(numbers2);
   
//    Array.filter()
// filter() 方法创建一个包含通过测试的数组元素的新数组。

// 这个例子用值大于 18 的元素创建一个新数组：
// 
// 实例

// var numbers = [45, 4, 9, 16, 25];
//  var pper= numbers.filter(my)
// function my(value){
//     return value>18;
// }
// console.log(pper);
// Array.indexOf()
// indexOf() 方法在数组中搜索元素值并返回其位置。

// 注释：第一个项目的位置是 0，第二个项目的位置是 1，以此类推。
// /
// 实例
// var fruits = ["Apple", "Orange", "fruits", "Mango"];
//   var a=fruits.indexOf('fruits');
//   console.log(a);
// switch 执行多个回掉的时候
//  switch(new Date().getDate()){
//     case 0:
//         day = "星期天";
//         break;
//     case 1:
//         day = "星期一";
//          break;
//     case 2:
//         day = "星期二";
//          break;
//     case 3:
//         day = "星期三";
//          break;
//     case 4:
//         day = "星期四";
//          break;
//     case 5:
//         day = "星期五";
//          break;
//     case 6:
//         day = "星期六
//  }
  
</script>